Parallel software could previously be obtained from existing non-parallel software in a fully automatic manner only in rare cases, for example in the case of simple sequences.
In contrast, more complex algorithms could previously be changed to a parallel form only by means of manual rewriting or by means of time-consuming and cost-intensive manual conversion.